Initial commit
This commit is contained in:
@@ -0,0 +1,104 @@
|
||||
{
|
||||
"_comment": "Template for defining test data schemas. Use this as a starting point for creating your test data definitions.",
|
||||
"schema_name": "your_schema_name",
|
||||
"_comment": "The name of the database schema this data applies to. Often 'public'.",
|
||||
"tables": [
|
||||
{
|
||||
"table_name": "users",
|
||||
"_comment": "The name of the table.",
|
||||
"columns": [
|
||||
{
|
||||
"column_name": "id",
|
||||
"data_type": "INTEGER",
|
||||
"primary_key": true,
|
||||
"auto_increment": true,
|
||||
"_comment": "Example of an integer primary key with auto-increment."
|
||||
},
|
||||
{
|
||||
"column_name": "username",
|
||||
"data_type": "VARCHAR(255)",
|
||||
"nullable": false,
|
||||
"unique": true,
|
||||
"faker": "user_name",
|
||||
"_comment": "Example using Faker to generate usernames."
|
||||
},
|
||||
{
|
||||
"column_name": "email",
|
||||
"data_type": "VARCHAR(255)",
|
||||
"nullable": false,
|
||||
"unique": true,
|
||||
"faker": "email",
|
||||
"_comment": "Example using Faker to generate email addresses."
|
||||
},
|
||||
{
|
||||
"column_name": "created_at",
|
||||
"data_type": "TIMESTAMP",
|
||||
"default": "CURRENT_TIMESTAMP",
|
||||
"_comment": "Example of a timestamp column with a default value."
|
||||
}
|
||||
],
|
||||
"rows": [
|
||||
{
|
||||
"username": "existing_user",
|
||||
"email": "existing@example.com",
|
||||
"_comment": "Optionally specify exact values for specific rows. Faker will be used if not specified"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"table_name": "products",
|
||||
"_comment": "Example of another table.",
|
||||
"columns": [
|
||||
{
|
||||
"column_name": "id",
|
||||
"data_type": "INTEGER",
|
||||
"primary_key": true,
|
||||
"auto_increment": true
|
||||
},
|
||||
{
|
||||
"column_name": "name",
|
||||
"data_type": "VARCHAR(255)",
|
||||
"nullable": false,
|
||||
"faker": "product_name",
|
||||
"_comment": "Using a custom Faker provider. Requires the provider to be installed."
|
||||
},
|
||||
{
|
||||
"column_name": "price",
|
||||
"data_type": "DECIMAL(10, 2)",
|
||||
"nullable": false,
|
||||
"faker": "pyfloat:left_digits=3,right_digits=2,positive=True",
|
||||
"_comment": "Example of using pyfloat for generating prices. Can use faker.pyfloat arguments."
|
||||
},
|
||||
{
|
||||
"column_name": "description",
|
||||
"data_type": "TEXT",
|
||||
"faker": "paragraph",
|
||||
"_comment": "Example of using faker to generate a paragraph of text."
|
||||
},
|
||||
{
|
||||
"column_name": "user_id",
|
||||
"data_type": "INTEGER",
|
||||
"nullable": false,
|
||||
"foreign_key": "users.id",
|
||||
"_comment": "Example of a foreign key relationship. Requires the 'users' table to exist and have an 'id' column."
|
||||
}
|
||||
],
|
||||
"rows": [
|
||||
{
|
||||
"name": "Specific Product",
|
||||
"price": 99.99,
|
||||
"description": "A very specific product description.",
|
||||
"user_id": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"options": {
|
||||
"number_of_rows_per_table": 5,
|
||||
"_comment": "Default number of rows to create for each table if no 'rows' key is specified. Defaults to 1 if not specified.",
|
||||
"rollback_transaction": true,
|
||||
"_comment": "Whether to rollback the transaction after the data is inserted. Defaults to true.",
|
||||
"truncate_tables": false,
|
||||
"_comment": "Whether to truncate the tables before inserting data. Defaults to false."
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user