Я хотел бы создать приложение с Rails и Neo4j, где пользователи могут определять свои собственные классы. Я уже знаю, как создать динамический класс ActiveNode
и использовать его в приложении:
> Object.const_set('Planet', Class.new {
include Neo4j::ActiveNode
property :name
})
=> Planet(name: Object)
> earth = Object.const_get('Planet').new(name: 'Earth')
=> #<Planet uuid: nil, name: "Earth">
Но проблемы начинаются с сохранением данных в базе данных:
> earth.save
Neo4j :: DeprecatedSchemaDefinitionError: Некоторые элементы схемы были
определяется моделью (которая больше не поддерживается), но они не
существуют в базе данных. Запустите следующее, чтобы создать их, если вы
еще не:
rake neo4j: generate_schema_migration [ограничение, планета, uuid]
Итак, возможно ли изменить миграцию Neo4j.rb на лету? И если да, то как это сделать?