Created migrations for database to allow modification in the future, without loosing data.
68 lines
4.3 KiB
GDScript
68 lines
4.3 KiB
GDScript
extends Migration
|
|
|
|
func _up() -> void:
|
|
# Insert upgrade instructions to modify database structure below
|
|
# Create Table itch_apps
|
|
var table := create_table("itch_apps")
|
|
table.add_column("id", Types.DataType.INT, Types.Flags.PRIMARY_KEY | Types.Flags.NOT_NULL, {})
|
|
table.add_column("title", Types.DataType.STRING, Types.Flags.NONE, {})
|
|
table.add_column("authors", Types.DataType.ARRAY, Types.Flags.NONE, {})
|
|
table.add_column("tags", Types.DataType.ARRAY, Types.Flags.NONE, {})
|
|
table.add_column("links", Types.DataType.DICTIONARY, Types.Flags.NONE, {})
|
|
table.add_column("cover_image", Types.DataType.STRING, Types.Flags.NONE, {})
|
|
table.add_column("price", Types.DataType.STRING, Types.Flags.NONE, {})
|
|
table.add_column("description", Types.DataType.STRING, Types.Flags.NONE, {})
|
|
table.add_column("screenshots_thumbnails", Types.DataType.ARRAY, Types.Flags.NONE, {})
|
|
table.add_column("screenshots_full", Types.DataType.ARRAY, Types.Flags.NONE, {})
|
|
table.add_column("added", Types.DataType.REAL, Types.Flags.NONE, {})
|
|
|
|
# Create Table steam_apps
|
|
table = create_table("steam_apps")
|
|
table.add_column("steam_app_id", Types.DataType.INT, Types.Flags.PRIMARY_KEY | Types.Flags.NOT_NULL, {})
|
|
table.add_column("type", Types.DataType.STRING, Types.Flags.NONE, {})
|
|
table.add_column("name", Types.DataType.STRING, Types.Flags.NONE, {})
|
|
table.add_column("required_age", Types.DataType.INT, Types.Flags.NONE, {})
|
|
table.add_column("is_free", Types.DataType.BOOL, Types.Flags.NONE, {})
|
|
table.add_column("short_description", Types.DataType.STRING, Types.Flags.NONE, {})
|
|
table.add_column("detailed_description", Types.DataType.STRING, Types.Flags.NONE, {})
|
|
table.add_column("header_image", Types.DataType.STRING, Types.Flags.NONE, {})
|
|
table.add_column("capsule_image", Types.DataType.STRING, Types.Flags.NONE, {})
|
|
table.add_column("capsule_imagev5", Types.DataType.STRING, Types.Flags.NONE, {})
|
|
table.add_column("website", Types.DataType.STRING, Types.Flags.NONE, {})
|
|
table.add_column("developers", Types.DataType.ARRAY, Types.Flags.NONE, {})
|
|
table.add_column("publishers", Types.DataType.ARRAY, Types.Flags.NONE, {})
|
|
table.add_column("platforms", Types.DataType.DICTIONARY, Types.Flags.NONE, {})
|
|
table.add_column("genres", Types.DataType.ARRAY, Types.Flags.NONE, {})
|
|
table.add_column("release_date", Types.DataType.DICTIONARY, Types.Flags.NONE, {})
|
|
table.add_column("screenshots_full", Types.DataType.ARRAY, Types.Flags.NONE, {})
|
|
table.add_column("screenshots_thumbs", Types.DataType.ARRAY, Types.Flags.NONE, {})
|
|
table.add_column("trailer_mp4", Types.DataType.DICTIONARY, Types.Flags.NONE, {})
|
|
table.add_column("trailer_webm", Types.DataType.DICTIONARY, Types.Flags.NONE, {})
|
|
table.add_column("trailer_thumbnail", Types.DataType.STRING, Types.Flags.NONE, {})
|
|
table.add_column("price_currency", Types.DataType.STRING, Types.Flags.NONE, {})
|
|
table.add_column("price_initial", Types.DataType.INT, Types.Flags.NONE, {})
|
|
table.add_column("price_final", Types.DataType.INT, Types.Flags.NONE, {})
|
|
table.add_column("price_discount_percent", Types.DataType.INT, Types.Flags.NONE, {})
|
|
table.add_column("price_initial_formatted", Types.DataType.STRING, Types.Flags.NONE, {})
|
|
table.add_column("price_final_formatted", Types.DataType.STRING, Types.Flags.NONE, {})
|
|
table.add_column("categories", Types.DataType.ARRAY, Types.Flags.NONE, {})
|
|
table.add_column("dlc", Types.DataType.ARRAY, Types.Flags.NONE, {})
|
|
table.add_column("packages", Types.DataType.ARRAY, Types.Flags.NONE, {})
|
|
table.add_column("total_achievements", Types.DataType.INT, Types.Flags.NONE, {})
|
|
table.add_column("highlighted_achievements", Types.DataType.ARRAY, Types.Flags.NONE, {})
|
|
table.add_column("pc_requirements", Types.DataType.STRING, Types.Flags.NONE, {})
|
|
table.add_column("mac_requirements", Types.DataType.STRING, Types.Flags.NONE, {})
|
|
table.add_column("linux_requirements", Types.DataType.STRING, Types.Flags.NONE, {})
|
|
table.add_column("support_email", Types.DataType.STRING, Types.Flags.NONE, {})
|
|
table.add_column("support_url", Types.DataType.STRING, Types.Flags.NONE, {})
|
|
table.add_column("background_image", Types.DataType.STRING, Types.Flags.NONE, {})
|
|
table.add_column("background_image_raw", Types.DataType.STRING, Types.Flags.NONE, {})
|
|
pass
|
|
|
|
func _down() -> void:
|
|
# Insert downgrade instructions to modify database structure below.
|
|
# Drop Table itch_apps
|
|
drop_table("itch_apps")
|
|
|
|
# Drop Table steam_apps
|
|
drop_table("steam_apps")
|