atures;
# NAME
# ====
##
# Daje::Workflow::GenerateSQL::Activity - It's a to generate SQL from a json description
#
# SYNOPSIS
# ========
##
# use Daje::Workflow::GenerateSQL::Activity;
#
# m
data->{file} = Mojo::File->new(@{$files_list}[$i])->basename;
$data->{file} =~ s/.json//g;
push(@data, $data);
$self->model->insert_history(@{$files_lis
t '$e'";
# };
return $sql;
}
sub _load_table($self, $file) {
my $json = Daje::Config->new()->load_json($file);
my $templates = Daje::Workflow::Templates->new(
data_section
w::GenerateSQL::Base::Common', -base, -signatures;
sub generate($self) {
my $data = $self->json;
my $name = $data->{name};
my $fields = $self->_fields($data);
my $tables = $self->_t
Fields -- create the fields part of a create table script
#
# SYNOPSIS
# ========
# my $json = from_json( qq (
# {
# "fields": {
# "userid": "varchar",
#
plates'
# );
#
# my $fields = GenerateSQL::Sql::Table::Fields->new(
# json => $json,
# template => $template,
# );
#
# $fields->create_fields();
#
creation from JSON
# get_defaults($datatype) Get defaults part for the sql datatype
#
#
#
sub create_fields($self){
my $field = '';
eval {
my $fields = $self->json->{fields};
ate_fkey} = "";
$self->templates->{template_ind} = "";
eval {
my $fields = $self->json->{fields};
foreach my $key (sort keys %{$fields}) {
if (index($key,'_fkey') >
blename' => "";
sub create_index($self) {
my $sql = "";
my $json = $self->json->{index};
my $length = scalar @{$json};
for (my $i = 0; $i < $length; $i++) {
my $template = $s
s/<<type>>/@{$json}[$i]->{type}/ig;
$template =~ s/<<fields>>/@{$json}[$i]->{fields}/ig;
@{$json}[$i]->{fields} =~ s/,/_/ig;
$template =~ s/<<field_names>>/@{$json}[$i]->{field
package Daje::Workflow::GenerateSQL::Base::Common;
use Mojo::Base -base, -signatures;
has 'json' ;
has 'templates' ;
has 'sql' ;
has 'index' => 0;
has 'version' ;
has 'error';
sub shift_section ($se
$self) {
my $sql = "";
my $json = $self->json->{sql};
my $length = scalar @{$json};
for (my $i = 0; $i < $length; $i++) {
my $type = @{$json}[$i]->{type};
my $template
pe : eq) {
case('insert') {
my $fields = @{$json}[$i]->{fields};
my $values =@{$json}[$i]->{values};
$template =~ s/<<tablename>>/$table_nam
ated SQL scripts from JSON file
#
# Synopsis
# ========
#
# use Daje::Generate::Sql::SqlManager;
#
# my $table = Daje::Generate::Sql::SqlManager->new(
# json => $json,
# template
ons = "";
my $json_arr = $self->json;
my $length = scalar @{$json_arr};
for (my $i = 0; $i < $length; $i++) {
my $json = @{$json_arr}[$i];
if (exists($json->{version})) {
$sections .= $self->_version($json->{version});
}
}
$self->set_sql($self->create_file($sections));
return ;
}
sub _version($self, $version) {
my $sql = "";
my $