Versions in this module Expand all Collapse all v0 v0.1.0 May 4, 2025 Changes in this version + var CliTemplateBase64 = `Ly8gVEhJUyBGSUxFIElTIEdFTkVSQVRFRCBCWSBHT01JR0VSLiBQTEVBU0UgRE8gTk9UIE1PRElGWSBJVC4KCnBhY2thZ2UgbWFpbgoKaW1wb3J0ICgKCSJjb250ZXh0IgoJImZtdCIKCSJsb2ciCgkib3MiCgoJImdpdGh1Yi5jb20vUGFydGVlTGFicy9nb21pZ2VyIgoJImdpdGh1Yi5jb20vUGFydGVlTGFicy9nb21pZ2VyL2dlbmVyYXRvciIKCSJnaXRodWIuY29tL3VyZmF2ZS9jbGkvdjMiCikKCnZhciByY1BhdGggc3RyaW5nCgpmdW5jIG1haW4oKSB7CgljbWQgOj0gJmNsaS5Db21tYW5kewoJCUZsYWdzOiBbXWNsaS5GbGFnewoJCQkmY2xpLlN0cmluZ0ZsYWd7CgkJCQlOYW1lOiAgICAgICAgInJjLXBhdGgiLAoJCQkJQ2F0ZWdvcnk6ICAgICJnbG9iYWwiLAoJCQkJVmFsdWU6ICAgICAgICIuL2dvbWlnZXIucmMueWFtbCIsCgkJCQlVc2FnZTogICAgICAgIlBhdGggdG8gdGhlIGdvbWlnZXIucmMgZmlsZSIsCgkJCQlEZXN0aW5hdGlvbjogJnJjUGF0aCwKCQkJfSwKCQl9LAoJCUNvbW1hbmRzOiBbXSpjbGkuQ29tbWFuZHsKCQkJbmV3Q21kLAoJCX0sCgl9CglpZiBlcnIgOj0gY21kLlJ1bihjb250ZXh0LkJhY2tncm91bmQoKSwgb3MuQXJncyk7IGVyciAhPSBuaWwgewoJCWxvZy5GYXRhbChlcnIpCgl9Cn0KCnZhciBuZXdDbWQgPSAmY2xpLkNvbW1hbmR7CglOYW1lOiAgICAibmV3IiwKCUFsaWFzZXM6IFtdc3RyaW5neyJuIn0sCglVc2FnZTogICAiZ2VuZXJhdGUgYSBuZXcgbWlncmF0aW9uIiwKCUFjdGlvbjogZnVuYyhfIGNvbnRleHQuQ29udGV4dCwgY21kICpjbGkuQ29tbWFuZCkgZXJyb3IgewoJCXJjLCBlcnIgOj0gZ29taWdlci5HZXRHb21pZ2VyUkMocmNQYXRoKQoJCWlmIGVyciAhPSBuaWwgewoJCQlyZXR1cm4gZm10LkVycm9yZigiQ2Fubm90IGxvYWQgdGhlIGdvbWlnZXIucmMgZmlsZTogJXciLCBlcnIpCgkJfQoJCWlmICFnZW5lcmF0b3IuSXNTcmNDb2RlSW5pdGlhbGl6ZWQocmMpIHsKCQkJcmV0dXJuIGZtdC5FcnJvcmYoIlRoZSBzb3VyY2UgY29kZSBpcyBOT1QgSU5JVElBTElaRUQiKQoJCX0KCQlpZiBlcnIgOj0gZ2VuZXJhdG9yLkdlbk1pZ3JhdGlvbkZpbGUocmMsIGNtZC5BcmdzKCkuR2V0KDApKTsgZXJyICE9IG5pbCB7CgkJCXJldHVybiBmbXQuRXJyb3JmKCJDYW5ub3QgZ2VuZXJhdGUgbWlncmF0aW9uIGZpbGU6ICV3IiwgZXJyKQoJCX0KCQlyZXR1cm4gbmlsCgl9LAp9Cgp2YXIgbWlncmF0ZVVwQ21kID0gJmNsaS5Db21tYW5kewoJTmFtZTogICAgInVwIiwKCUFsaWFzZXM6IFtdc3RyaW5neyJtIn0sCglVc2FnZTogICAibWlncmF0ZSB0aGUgZGF0YWJhc2UgdXAgdG8gYSB2ZXJzaW9uIiwKCUFjdGlvbjogZnVuYyhjdHggY29udGV4dC5Db250ZXh0LCBfICpjbGkuQ29tbWFuZCkgZXJyb3IgewoJCXJjLCBlcnIgOj0gZ29taWdlci5HZXRHb21pZ2VyUkMocmNQYXRoKQoJCWlmIGVyciAhPSBuaWwgewoJCQlyZXR1cm4gZm10LkVycm9yZigiQ2Fubm90IGxvYWQgdGhlIGdvbWlnZXIucmMgZmlsZTogJXciLCBlcnIpCgkJfQoJCWlmICFnZW5lcmF0b3IuSXNTcmNDb2RlSW5pdGlhbGl6ZWQocmMpIHsKCQkJcmV0dXJuIGZtdC5FcnJvcmYoIlRoZSBzb3VyY2UgY29kZSBpcyBOT1QgSU5JVElBTElaRUQiKQoJCX0KCQltaWdyYXRvciA6PSBOZXdNaWdyYXRvcigmZ29taWdlci5Hb21pZ2VyQ29uZmlne30pCgkJaWYgZXJyIDo9IG1pZ3JhdG9yLkNvbm5lY3QoY3R4KTsgZXJyICE9IG5pbCB7CgkJCXJldHVybiBmbXQuRXJyb3JmKCJDYW5ub3QgY29ubmVjdCB0byBkYXRhYmFzZTogJXciLCBlcnIpCgkJfQoJCWlmIGVyciA6PSBtaWdyYXRvci5VcChjdHgsICIiKTsgZXJyICE9IG5pbCB7CgkJCXJldHVybiBmbXQuRXJyb3JmKCJDYW5ub3QgbWlncmF0ZSB0aGUgZGF0YWJhc2U6ICV3IiwgZXJyKQoJCX0KCQlyZXR1cm4gbmlsCgl9LAp9Cgp2YXIgbWlncmF0ZURvd25DbWQgPSAmY2xpLkNvbW1hbmR7CglOYW1lOiAgICAiZG93biIsCglBbGlhc2VzOiBbXXN0cmluZ3siZCJ9LAoJVXNhZ2U6ICAgIm1pZ3JhdGUgdGhlIGRhdGFiYXNlIGRvd24gdG8gYSB2ZXJzaW9uIiwKCUFjdGlvbjogZnVuYyhjdHggY29udGV4dC5Db250ZXh0LCBfICpjbGkuQ29tbWFuZCkgZXJyb3IgewoJCXJjLCBlcnIgOj0gZ29taWdlci5HZXRHb21pZ2VyUkMocmNQYXRoKQoJCWlmIGVyciAhPSBuaWwgewoJCQlyZXR1cm4gZm10LkVycm9yZigiQ2Fubm90IGxvYWQgdGhlIGdvbWlnZXIucmMgZmlsZTogJXciLCBlcnIpCgkJfQoJCWlmICFnZW5lcmF0b3IuSXNTcmNDb2RlSW5pdGlhbGl6ZWQocmMpIHsKCQkJcmV0dXJuIGZtdC5FcnJvcmYoIlRoZSBzb3VyY2UgY29kZSBpcyBOT1QgSU5JVElBTElaRUQiKQoJCX0KCQltaWdyYXRvciA6PSBOZXdNaWdyYXRvcigmZ29taWdlci5Hb21pZ2VyQ29uZmlne30pCgkJaWYgZXJyIDo9IG1pZ3JhdG9yLkNvbm5lY3QoY3R4KTsgZXJyICE9IG5pbCB7CgkJCXJldHVybiBmbXQuRXJyb3JmKCJDYW5ub3QgY29ubmVjdCB0byBkYXRhYmFzZTogJXciLCBlcnIpCgkJfQoJCWlmIGVyciA6PSBtaWdyYXRvci5Eb3duKGN0eCwgIiIpOyBlcnIgIT0gbmlsIHsKCQkJcmV0dXJuIGZtdC5FcnJvcmYoIkNhbm5vdCBtaWdyYXRlIHRoZSBkYXRhYmFzZTogJXciLCBlcnIpCgkJfQoJCXJldHVybiBuaWwKCX0sCn0K` + var MigrationScriptTemplateBase64 = `cGFja2FnZSBtYWluCgppbXBvcnQgImNvbnRleHQiCgpmdW5jIChtICpNaWdyYXRvcikgTWlncmF0aW9uTmFtZVVwKGN0eCBjb250ZXh0LkNvbnRleHQpIGVycm9yIHsKCS8qKiBZb3VyIG1pZ3JhdGlvbiB1cCBjb2RlIGhlcmU6ICovCglyZXR1cm4gbmlsCn0KCmZ1bmMgKG0gKk1pZ3JhdG9yKSBNaWdyYXRpb25OYW1lRG93bihjdHggY29udGV4dC5Db250ZXh0KSBlcnJvciB7CgkvKiogWW91ciBtaWdyYXRpb24gZG93biBjb2RlIGhlcmU6ICovCglyZXR1cm4gbmlsCn0K` + var MigratorTemplateBase64 = `cGFja2FnZSBtYWluCgppbXBvcnQgKAoJImNvbnRleHQiCgoJImdpdGh1Yi5jb20vUGFydGVlTGFicy9nb21pZ2VyIgopCgovLyBNaWdyYXRvciBpcyB0aGUgbWFpbiBtaWdyYXRvciBzdHJ1Y3QuCnR5cGUgTWlncmF0b3Igc3RydWN0IHsKCWdvbWlnZXIuQmFzZU1pZ3JhdG9yCglDb25maWcgKmdvbWlnZXIuR29taWdlckNvbmZpZwp9CgovLyBOZXdNaWdyYXRvciBjcmVhdGVzIGEgbmV3IG1pZ3JhdG9yLgpmdW5jIE5ld01pZ3JhdG9yKGNvbmZpZyAqZ29taWdlci5Hb21pZ2VyQ29uZmlnKSBnb21pZ2VyLkdvbWlnZXIgewoJbSA6PSAmTWlncmF0b3J7CgkJQ29uZmlnOiBjb25maWcsCgl9CgkvLyBtLkRCID0gTmV3TW9uZ29taWdlcigpICoqIEFkZCB5b3VyIHBsdWdpbiBoZXJlICoqCgoJLy8gKiogQWRkIHlvdXIgbWlncmF0aW9ucyBoZXJlICoqCgltLk1pZ3JhdGlvbnMgPSBbXWdvbWlnZXIuTWlncmF0aW9uewoJCS8vIHtWZXJzaW9uOiAiMS4wLjAiLCBVcDogbS5NaWdyYXRpb25OYW1lVXAsIERvd246IG0uTWlncmF0aW9uTmFtZURvd259LAoJfQoJcmV0dXJuIG0KfQoKLy8gQ29ubmVjdCBjb25uZWN0cyBkYXRhYmFzZS4KZnVuYyAobSAqTWlncmF0b3IpIENvbm5lY3QoY3R4IGNvbnRleHQuQ29udGV4dCkgKGVyciBlcnJvcikgewoJLy8gKiogQ2FsbCB5b3VyIHBsdWdpbiBDb25uZWN0IGZ1bmMgaGVyZSAqKgoJcmV0dXJuIG5pbAp9Cg==` + func GenMigrationFile(rc *gomiger.GomigerConfig, name string) error + func InitSrcCode(rc *gomiger.GomigerConfig) error + func IsSrcCodeInitialized(rc *gomiger.GomigerConfig) bool + type Template struct + func LoadTemplates() ([]Template, error)