►
From YouTube: Magento Architectural Discussion -- October, 2, 2018
Description
* MySQL 8 auto_increment
* Multi-device support for customer cart in GraphQL
* GraphQL schema for store pickup
* GraphQL directives for attributes metadata
Meeting notes - https://github.com/magento/architecture/issues/302
B
A
B
Okay,
we
have
a
one
story
about
my
square:
eight
auto-increment
of
an
ideal
movement.
We
we
did
a
spike
last
week
and
investigate
different
ways
how
we
we
we
can
remove
the
auto
increment
from
from
again
to
tool.
What
is
the
current
problem
when
we
trying
to
upgrade
my
Magento
to
the
latest
mice
create
version
we
have.
B
We
have
several
places
and
mice
fate
behaves
different
like
my
square
5.6
and
returns
if
a
null
value
if
the
table
is
not
called
or
fetched
before
we
asking
for
out
to
increment
this
behavior
leads
to
leads
to
a
problem
that
we
get
a
wrong
auto
increment,
and
for
that
reason
we
we
listed
the
places
where
we're
currently
using
out
increments.
We
have
mostly
the
importer,
and
we
have
only
one
situation
in
MQ
and
for
for
the
different
importers.
B
B
B
C
D
Could
you
one
more
time
creep?
This
repeat
your
question,
so
your
question
is
good.
Is
the
how
we
going
to
solve
this
temporarily
right
now
or
kind
of
at
all,
because
we
are,
we
are
going
to
get
rid
of
this
next,
how
to
increment
functionality
the
main
solution
and
another
two
solutions
is
to
disable
cash
and
to
run
to
run,
run,
run
analyze
table
before
getting
the
the
statistic
from
my
scope:
okay,.
C
C
D
D
E
C
Connected
so
I'm
trying
to
realize
what
we
are
going
to
solve
here
for
M
view
and
how
we
are
going
to
solve
here
for
MU,
so
I
can
provide
you.
Several
examples
are
where
these
functionalities,
pretty
pretty
critical,
so
I
believe
this
is
pretty
significant
change
and
I
would
like
to
understand
what
what
we
had
what
we
want
to
do,
because,
right
now,
it's
not
here
for
me.
E
So
our
name
is
goal
is
to
make
magenta
not
depend
on
on
this
functionality
at
all.
So
our
main
goal
is
to
eliminate
functionality
of
retrieval
of
the
next
auto
increment
value
for
magenta
and
in
the
end
it
does
that.
Currently,
what
guys
did
they
look
through
magenta
codebase
and
found
all
the
places
where
this
functionality
currently
used,
and
currently
we
have
two
main
places
which
rely
on
next
auto
increment.
If.
C
C
The
problems
that
we
are
trying
to
solve
is
this
problem.
This
metadata,
which
does
not
have
information
of
last,
insert
that
ID,
because
because
of
this
way
it
catch
them,
it
has
some
time
to
leave.
Actually,
actually,
we
cannot
rely
on
this
available
information
schema.
Is
this
correct
understanding
of
problem
they're
trying
to
solve
yes,
okay,
perfect?
So
the
question
we
should
address?
This
is
how
we
will
return
an
information
about
a
ad
because
items
I
don't
see
any
issue
put
a
3d
nee,
a
new,
sequential
ID
e.
C
Believe
not
next,
but
but
current
next
up,
increment
AG
works
perfectly
everywhere,
because
it's
rely
a
known
function.
Last
answer:
tidy
dishes
works
correctly
across
all
all
my
sequel
versions.
So
the
problem
here
what
I
see
that
we
have
to
in
case
of
import
us?
What
was
the
last
answer
that
IG
instead
of
wesen
I,
believe
that
we
could
just
regenerate
this
ad
and
you
know,
I-
have
a
full
object.
Issue
will
receive
an
ID
from
us
as
the
developer
is
not
not
from
a
database
as
read
creative.
C
How
we
are
working
with
the
ID
Product
ID
in
Impa?
Actually,
what
is
going
on
right
now,
right
now,
we
are
trying
to
insert
some
data
after
we
insert
this
data.
They
are
trying
to
read
information
about
this
inserted
product
to
go
SAT,
and
this
is
a
gue
root
of
root
of
our
problem
top
our
problem
in
case
of
we
will
generate
this
ID
in
in
unique
way.
If
I
were
to
insert
in
data,
we
are
not
to
blessing
for
what
I
did.
C
We
should
use
to
persist,
for
instance,
options
or
our
variations
for
considerable
problem,
the
same
for
customer
as
they
see
where
as
a
problem
here
that
not
only
affect
this,
we
cannot
say
say
the
customer
problem
here
that
we
would
like
to
say
that
address
with
ideal
this
customer.
So
instead
of
trying
to
persist
customer
intuitive
idea
of
this
customer
after
persistence,
we
can
just
generate
this
ID
before
we
are
saving
customer
and
have
our
object.
E,
incomplete
States
since
early
beginning.
B
F
B
The
front
end
at
the
same
time,
and
for
this
functionality
we
we
have
unique
keys
and
databases
I'm
and
to
generate
them
by
a
software.
We
have
different
entry
points
and
is
not
so
easy
to
do
this.
Maybe
we
can
usually
you
ideally,
but
then
we
can
not
completely
sure.
If
somebody
clicks
on
in
the
same
minutes,
accounts
register
we're
getting
complicated,
IDs,
ok,.
C
C
Values
that
you
may
use
as
a
as
a
as
a
ID
in
our
case
I
just
have
to
the
top
as
an
empty
table.
For
my
students
in
a
single
instant
as
it
is
as
a
result,
you
will
have
a
function
which
is
yet
last
and
surveyed
Alisha's,
which
is
not
relying
on
session
and
always
returns
user
last.
The
last
answer
that
they
did
is
out
any
intersection
across
all
possible
concurrent
connections
that
you
may
have.
B
Yeah
I
know
about
you:
what
do
you
mean
there,
but
I'm
not
really
sure
about.
Is
this
feature
available
in
different
databases,
because
we
trying
as
architecture
team
or
as
developed
for
maybe
to
to
replace
a
MySQL
with
some
separate
post
press,
etc
database
in
the
future?
And
it's
a
my
squared
feature:
we
we
should
not
use
it
and
we
should
use
a
more
general
database
feature
there,
and
this
is
this-
is
my
question
on
on
on
your
idea.
Then.
C
Actually,
because
we
we
use
it.
Yes,
we
do
support
from
lay
my
sequel
right
now,
I,
don't
say
big
problems
that
will
go
you
such
functionality
anyway.
I
believe
that
I
didn't
change
this
for
a
while,
but
I
believes
it's
possibly
also
supports
a
possibility
to
determine
last
answer
pages
or
even
better
I
believe
the
spoke
Postgres
has
a
real
sequences
which
can
play
the
same
role.
This
is
just
patient
with
plantation.
C
B
E
A
And
I
just
wanted
to
get
the
meeting
notes
from
the
last
time
when
we
discussed
it.
So
what
what
the
solution
was
is
first
refactor
Magento
or
to
not
use
table
starters.
So
yeah,
that's
answer
to
your
question.
We
all
agreed
that
we
do
not
want
to
rely.
This
second
duplicate
show
table
status
and
a
method
and
then
also
still
implemented
workaround
for
show
table
status
into
the
three.
So
we
need
some
workaround
which
will
still
provide
this,
how
to
increment
value
2.3,
because
we
cannot
just
remove
it.
Yeah.
C
A
A
A
A
Forever
we
need
it
only
probably
first
time
I
would
even
make
it
like
show,
table
status
and
see
if
out
increment
is
mouth
and
disable
cash
and
retrieve
it
once
again
and
because
it
will
happen,
it
happens
like
the
problem
happens
only
first
time
as
I
understand
one.
Nobody
touches
the
table.
It's
just
created
right.
B
A
C
Guys
briefly
revealed
your
proposal.
I
see
a
lot
of
usages
of
max
version
ad
is
like
you
trying
to
identify
the
latest
insert
that
ad
into
table
by
selecting
the
latest
Vala
wasted
one
in
transaction.
It
doesn't.
It
do
much
work
because
my
sequel
supports
transaction
and
when
you'll
read
in
one
version
from
one
single
transaction,
another
one
insert
a
new
data
which
will
have
a
different
max
version.
80
and
as
a
result,
you
will
have
a
you
know.
A
E
C
F
A
A
Is
to
just
eliminate
usages
of
this
out
and
comment
and
remove
this
method
at
all
in
it
would
for
or
somewhere
in
the
future.
So
we
don't
even
have
this
question
but
finale.
We
need
some
workaround,
which
will
be
unless
wisdom
for
impactful
for
everyone,
I
guess,
okay.
So
let's
probably
review
the
proposal
of
lime.
C
C
E
From
my
perspective,
like
I
see
that
from
the
architectural
perspective
you
already
have
an
agreement
here,
so
that
we
we
have
the
desirable
stage
which
we
all
agree
on.
We
we
already
loop
through
the
codebase
and
found
all
the
usages.
So
actually
guys
did
that,
so
we
have
like,
after
seven
or
eight
usages,
and
we
agreed
that
all
that
particular
unit
should
be
refactored
in
a
way
to
not
depend
any
more
on
the
show
table
status,
so
each
of
that
place
should
be
refactored.
E
So
this
thing,
which
you
particularly
mention
anton
like
the
max
max
eighty
in
a
particular
table,
was
just
probably
improper
way
of
of
making
that
particular
in
factory
on
some
particular
are.
But
I
just
want
to
fight
this
decision
and
to
team
so
that
team
will
given
the
Gruman
or
maybe
distance
pipe.
Maybe
whatever
procedure
team
will
decide
as
appropriate
to
come
up
with
a
particular
particular
solution.
If
they
need
more
with
architect,
they
of
course
will
do
it
on
the
irregular
room
in
meetings,
but
I
just
want
to
program
it.
E
C
Have
this
code
should
be
a
factor?
It
should
be
a
subject
of
this
document.
In
other
hand,
we
have
a
risk
that
we
will
have
to
work
with
results
and
trying
to
do
something
after
oh
I.
I
would
like
to
see
it
here
if
this
is
possible,
but
if
you
believe
that
this
is
not
applicable
here
and
we
can
leave,
this
is
how
it
is.
E
So
my
actually,
my
goal
is
not
to
make
all
all
the
work
done
by
architects,
because
if
we
will
start
to
consider
all
particular
places,
if
you
know
as
an
architectural
team
will
extend
this
document
of
with
also
a
fraternity
to
be
introduced.
So
what
was?
The
team
should
do
in
this
case,
just
copy
paste
that
particular
code
snippets
from
this
document
to
to
magenta
code
base
and
make
the
commits,
because
in
this
case,
will
be
just
a
bottleneck.
Reading.
B
Yet
currently,
I'm
not
sure
about
the
solution,
because
it
can
be
a
little
bit
impact
of
how
Megantic
currently
works,
because
we
need
to
move
the
main
increment
idea
out
of
the
table
or
has
a
separate
table
and
also
we
need
to
change
the
queries,
how
how
we
solve
a
tres
and
for
a
check
out
or
something
like
that.
This
is
an
example
of
what
what
I
currently
think
about,
because
we
have
many
points.
B
They
are
using
customer
IDs
to
dissolve
addresses,
etc,
and
if
we
are
changing
the
main
Aidid
and
it's
not
so
easy,
we
also
need
to
change
the
places
how
the
queries
works
there
and
to
do
this
in
a
backward
compatible
where
I'm
currently
not
sure.
If
we,
if
we
can
do
this
and
the
2.3,
we,
you
must
take
a
look
on
it.
Yeah.
C
Let's
maybe
speak
about
this
offline
I'm
optimistic
about
it
because,
in
effect
you
will
have
to
my
my
opinion.
The
perform
just
see
single
change
in
before
safe
mechanism
and
I
can
point
you
have.
This
works
is
the
order
management
system,
it's
pretty
straightforward
and
no
other
changes
will
be
required
in
any
way,
but.
A
C
We
need
this
in
two
places
we
have
to
provide.
The
possibility,
specifies
this
ad
before
persisting
customer
or
generated
this
ad,
when
we
are
persisting
casted
customers
during
checkout.
What
guys
just
mentioned
that
we
we
we?
We
cannot
change
this
only
for
important
Hawaiian
factors.
Checkout
will
work
correctly.
Oh,
this
changes
may
happen
in
two
places:
the
resource
model
and
additional
sequence
manager
in
case.
If
both
of
changes
will
be
in
sync,
as
there
are,
will
be
no
backwards,
incompatible
changes
for
any
type
of
magenta
extensions
and
I'm.
E
Question
can
we
introduce
the
quick
fix
with
disabling
caching,
then
enabling
it
back
and
run
all
our
path
tests
on
my
sequel
800
to
see
whether
whether
this
trick
actually
works
for
our
resistant
dependencies
on
on
this
functionality?
So
I
suppose
that,
after
after
the
fix
with
disabling
and
then
an
IBM
case,
we
supposed
to
get
green
builds
and
all
the
functionality
which
currently
relying
on
our
show
table
status
should
work.
It
expected.
We
may
get
some
performance
degradation
because
enabling
and
disabling
cache,
but
afterwards,
like
at
least
all
the
tests
should
be
green.
F
E
A
E
Can
you
please,
at
this
fix
with
a
disabling
and
enabling
cache
and
run
the
test
once
again,
just
to
see
whether
the
problem
gone
and
if
it's
gone,
we
may
can
see
as
a
fix
so
that
we
just
need
to.
We
just
need
to
properly
calculate
the
performance
degradation
on
import
scenario
and
on
and
on
a
new
scenario.
E
D
D
That
they
sold
some
of
the
my
sequel,
5.7
issue
in
some
way
that
forced
them
to
create
this
caching.
So
they
are
storage
for
this
statistic
just
because
of
if
I'm
not
mistake
after
reloading
server,
some
some
of
statistic
of
this
database
disappointed
disappeared
or
something
like
that.
So
they
they
now
store
it.
The
storage
and
they
call
to
the
storage
as
I,
understand,
cost
some
valuable
amount
of
time,
so
they
decided
to
cash
it.
D
Regarding
the
eager
question
about
the
running
with
my
sequel,
eight
right
now
test,
so
we
have
only
Jenkins
built
with
my
sequel,
eight
nah,
not
a
bamboo,
another
path
test,
and
that's
why
we
are
not
able
to
estimate
what
the
performance
degradation
will
be
in
this
case.
But
you
can.
You
can
actually
see
that
at
the
screen
that
John
made
some
estimation.
D
It's
it's
actually
in
proposal
made
some
with
estimation,
from
not
mistake
by
at
the
local
environment
before
before
modification
and
with
the
different
types
of
approaches
regarding
the
running
tests
with
mass
curate
and
Jenkins.
So
it's
just
start
of
my
skillet.
We
just
not
actually
be,
but
Marx
researcher
identified
this
problem
and
it's
I
believe
there
are
much
more
problems
will
be
during
implementing
my
skip,
my
sequel,
eight.
So
we
will
not
have
right
now
fixing
just
this
issue
will
not
have
support
my
secret
right
now
with
a
and
all
jenkin
built.
D
A
G
You
should
be
able
to
see
my
screen
now.
I
have
some
topics
related
to
graph
kill
and
I
will
probably
have
to
go
really
fast.
Cuz
I
have
only
20
minutes
left,
so
one
of
the
issues
is
multi
device,
support
or
customer
curtain
graph
kill,
and
currently
the
issue
is
that
if
you
have
multiple
devices
and,
for
example,
you've
started
checkout
on
one
device
and
then
you
switch
to
another
device.
You
will
not
be
able
to
complete
checkout
because
we
don't
have
proper
mutations
and
queries
so
proposed
solution
is
to
introduce
customer
cult
ad
query.
G
We
shall
be
available
only
for
registered
customers,
and
this
query
will
always
return
active
card
ID
and
with
this
proposal
we
also
restrict
having
multiple
cards
or
customer
purchased
or
customer,
and
this
was
approved
by
our
product
on
donation.
So,
if
you
have
this
new
requirement,
then
customer
cult
ID
can
return
new
cult
ID
when
it's
invoked
for
the
first
time
or
existing
cart
ID
when
it's
invoked
subsequently
and
obviously,
if
you,
if
you
call
it
from
multiple
devices,
you
will
always
get
the
same
company.
G
So
the
scenario
will
look
as
follows:
we'll
say
you
start
session
on
laptop.
You
invoke
this
customer
cart
ID,
you
get
new
cartagene
response
and
obviously
you
have
to
provide
whether
customers
talking
in
all
all
these
queries,
but
you
have
to
bridge
the
customer
to
use
this
query
then,
from
laptop
you
add
some
product
to
this
cart
and
then
only
smartphone.
You
invoke
customer
ecology,
you
get
active,
cart
ID,
which
is
the
same,
and
you
can
retrieve
cult
items
added
from
laptop
using
smartphone.
G
Alternative
which
are
considered
is
what
there
is.
Actually
one
alternative
is
to
introduce
optional
part
ID
to
get
card.
Currently
it
is
required
to
have
unification
of
flows
between
customer
and
guests,
and
if
you
make
called
AG
optional,
we
can
say
that
if
customer
token
is
not
provided
then,
which,
with
this
session
as
a
guest
and
card,
is
required,
while
if
customer
token
is
provided,
then
we
can
omit
card
ID
in
this
query
and
we
will
just
identify
customer
ID
and
he
is
called
AG
based
on
the
active
token.
G
However,
in
this
case,
the
flow
is
not
so
consistent
between
customer
and
item
from
the
very
beginning,
the
head
requirement
to
have
consistency
between
flows
as
much
as
possible.
Consistency
between
flows
for
customer
focused
to
simplify
development
and
support.
So
at
the
moment,
guests
will
still
have
to
invoke
create
empty
cart
and
use
that
ID
and
customer
will
have
to
use
customer
cart
ID.
So
this
is
the
only
deviation
between
customer
and
guests
falls
and
the
rest
stays
as
it
is
now.
G
H
G
H
G
H
F
H
F
H
G
So,
just
just
to
clarify
so
before
we
got
this
new
requirement
that
you'll
have
only
single
card,
the
proposal
was
customer
card
80s.
So
you
would
get
all
ages
of
all
your
of
your
active
parts.
So
if
this
is
what
you're
saying
makes
sense-
and
we
can
institution
that
it,
it
isn't
English
we
can
just
convert
ID
into
call
cost
customer
called
80s
and
then
client
application.
You
have
to
decide
which
car
to
use
to
work
with.
C
G
C
G
H
G
G
C
F
G
So,
if
no
other
major
questions,
let's
move
on,
there
is
proposal
for
store,
pickup
schema
the
store
pickup.
As
you
may
know,
this
is
functionality
when
customer
can
choose
to
pick
up
his
order
from
store
instead
of
being
shipped
to
his
home
and
currently,
the
only
part
which
is
missing
to
support
it
is
actually
rendering
list
of
available
stores
for
the
cup,
and
the
query
which
is
proposed
here
is
allowing
to
render
a
list
of
stores
which
customer
can
choose
from.
G
So
this
query
will
accept
filters.
Currently,
it
is
just
search
term.
Potentially
it
can
also
be
extended
to
please,
let's
say
radios
from
his
zip
code
or
something
something
like
that,
so
we
introduced
some
type
of
extensibility
purposes
and
currently
what
we
support
and
store
pickup
is
just
search
term.
G
Individual
store
will
be
represented
with
its
name,
which
is
user
friendly
name
of
the
store
description
like
hours
of
operations
that
are
again
in
Dedmon.
It's
called
front-end
description
and
this
need
to
be
differentiated
from
name
and
description,
because
in
the
admin
there
are
also
some
admin,
specific
fields
which
must
never
be
displayed
in
the
storefront.
G
So
usually
at
least
what
I
can
tell
from
what
I've
seen
like
in
other
store
the
cops.
Usually
you
can
pick
up
from
any
store
and
they
will
just
distributed
between
stores
as
needed.
So
you
can
choose
to
pick
up
from
your
closest
store
and
they
will
just
deliver
it
to
it
to
the
store.
Even
if
it's
not
present,
there.
G
C
We
probably
may
have
you
know
different
names
and
different
times
or
exact.
The
same
features,
for
instance,
Reggio
on
looks
like
right
now.
Religion
does
not
support,
does
not
does
not
support
features
that
we
have
for
a
Jones
for
customers
like
unum
of
States
I,
believe
this
is
nonsense,
be
probably
can
can,
can
sing.
G
G
C
G
G
This
proposal
is
about
I.
Didn't
you
attribute
metadata
to
graph
kills
chemo.
So
currently
we
have
some
use.
Cases
like
render
advanced,
catalog
search
form,
which
can
be
configured
by
merchants
or
merchants
can
decide
what
Hills
should
be
displayed
on
advanced
catalog
search.
We
also
have
different
product
presentation
on
order.
Details
page
and
category
page,
usually,
list
of
attributes
displayed
on
category
page
is
more
narrow
compared
to
product
page,
and
this
is
currently
configured
via
special
AV
attribute
metadata
like
showing
trollin
product
listing,
or
something
like
that.
G
Addition
like
directive,
it's
called
directive
in
graph
key
terms,
metadata
with
arguments,
and
these
arguments
can
be
I
would
say
optional
and
they
will
represent
specific
property
of
a
V
attributed
like
is
this
attribute
dynamic
or
it
is
static,
so
it
may
affect
on
rendering
on
product
details.
Page
who
said
to
which
tab
specific
attribute
should
be
placed
is
just
general
characteristics.
Oh,
it's
like
detailed
view
of
product
product
information.
G
Cases
that
we
come
up
with
the
proposal
is
to
add
all
this
metadata
automatically
to
all
fields,
and
it
is
still
possible
to
manually
override
some
some
data
here
for
fields
which
are
defined
in
schema,
like
name
and
school,
so
they're
currently
defined
in
schema
and
it's
possible
to
create
your
override
and
we
need
to
set
high
priority
to
this
override
and
but
by
default,
all
fields
including
static
fields
like
name
and
school.
They
all
should
get
metadata
directive
edit.
G
This
approach
I
would
like,
but
I
would
also
like
to
know
that,
even
though
all
this
will
be
automatically
added
to
schema,
it
is
not
necessarily
true
that
it
will
be
visible
until
a
graphical
because
tools
by
graphical
act
as
graphical
clients
and
they
use
introspection
to
decide
what
to
render
and
they
don't
render
all
directives
by
default.
So
most
likely
custom
directives
like
metadata
will
not
be
visible
in
in
such
tools.
G
G
By
the
way,
I
forgot
to
mention
that
the
idea
is
that
client
application.
We
will
do
introspection
once
and
then
cash
results.
We
need
to
figure
out
how
to
implement
cash
in
rotation,
but
so
there
will
be
no
query
for
this
metadata
and
for
the
case
which
Android
describes.
We
will
have
to
use
existing
custom
attribute
metadata,
which
will
give
all
necessary
information,
and
it
probably
doesn't
make
sense
to
include
options,
because
usually
there
are
more
dynamic,
then
I
mean
we
can
try
to
do
that.
G
But
again,
I
don't
see
how
to
do
it
with
this,
with
this
approach
so
for
specific
attributes
which
are
represented
as
select
multi
select
or
basically
any
attributes
that
have
options,
we
probably
artists,
use
existing
custom
attribute
metadata,
and
just
to
remind
so
this,
this
query
works.
You
give
it
a
list
of
attributes
for
which
you
need
to
get
metadata,
and
it
gives
you
this
metadata,
but
it
cannot
give
you,
but
they
give
me
all
attributes
to
use
in
product
listing,
so
it
doesn't
open
it.