Exhibition-Workflow: Unterschied zwischen den Versionen

Aus Info-Theke
Zur Navigation springen Zur Suche springen
Zeile 34: Zeile 34:
mkdir -p lib/meta/users
mkdir -p lib/meta/users
# The following call works without meta data. It works without recreation of the tool:
# The following call works without meta data. It works without recreation of the tool:
meta_tool print-modules Users >lib/meta/modules.dart
./Meta print-modules Users >lib/meta/modules.dart
# Now we need a new instance of the meta_tool (to realize the meta data changes):
# Now we need a new instance of the meta_tool (to realize the meta data changes):
./ReCreateMetaTool
./ReCreateMetaTool
meta_tool print-data Users >lib/page/users/user_data.dart
./Meta print-data Users >lib/page/users/user_data.dart
# show the SQL table definition:
# show the SQL table definition:
meta_tool print-table
./Meta print-table
</syntaxhighlight>
</syntaxhighlight>
* Create all source files:
* Create all source files:
Zeile 45: Zeile 45:
# precondition: the current directory is the base folder of the dev-app.
# precondition: the current directory is the base folder of the dev-app.
# The following call works without meta data. It works without recreation of the tool:
# The following call works without meta data. It works without recreation of the tool:
meta_tool update-modules-list
./Meta update-modules-list
# Now we need a new instance of the meta_tool (to realize the meta data changes):
# Now we need a new instance of the ./Meta (to realize the meta data changes):
./ReCreateMetaTool
./ReCreateMetaTool
meta_tool update-modules
./Meta update-modules
</syntaxhighlight>
</syntaxhighlight>

Version vom 24. Januar 2022, 17:30 Uhr

Links

Workflow

We use the module "Users" as example

  • Create a metadata description: lib/meta/users_meta.dart
import 'module_meta_data.dart';

class UserMeta extends ModuleMetaData  {
  static UserMeta instance = UserMeta.internal();
  UserMeta.internal() : super('Users',
    [
      PropertyMetaData('id', DataType.reference, ':primary:', 'combo'),
      PropertyMetaData('name', DataType.string, ':notnull:', '', size: 64),
      PropertyMetaData('displayName', DataType.string, ':unique:notnull:', '', size: 32),
      PropertyMetaData('email', DataType.string, ':unique:notnull:', '', size: 255),
      PropertyMetaData('role', DataType.reference, ':notnull:', ''),
      PropertyMetaData('created', DataType.datetime, '', ''),
      PropertyMetaData('createdBy', DataType.string, '', '', size: 32),
      PropertyMetaData('changed', DataType.datetime, '', ''),
      PropertyMetaData('changedBy', DataType.string, '', '', size: 32),
    ],
    tableName: 'loginusers',
  );
  factory UserMeta(){
    return instance;
  }
}
  • Create some source files: (for example: the module "Users")
# precondition: the current directory is the base folder of the dev-app.
mkdir -p lib/meta/users
# The following call works without meta data. It works without recreation of the tool:
./Meta print-modules Users >lib/meta/modules.dart
# Now we need a new instance of the meta_tool (to realize the meta data changes):
./ReCreateMetaTool
./Meta print-data Users >lib/page/users/user_data.dart
# show the SQL table definition:
./Meta print-table
  • Create all source files:
# precondition: the current directory is the base folder of the dev-app.
# The following call works without meta data. It works without recreation of the tool:
./Meta update-modules-list
# Now we need a new instance of the ./Meta (to realize the meta data changes):
./ReCreateMetaTool
./Meta update-modules